package cn.iocoder.yudao.module.call.service.listenactionallow;

import javax.validation.*;
import cn.iocoder.yudao.module.call.controller.admin.listenactionallow.vo.*;
import cn.iocoder.yudao.module.call.dal.dataobject.listenactionallow.ListenActionAllowDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;

import java.util.List;

/**
 * 事件与动作 Service 接口
 *
 * @author 数创万维
 */
public interface ListenActionAllowService {

    /**
     * 创建事件与动作
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Integer createListenActionAllow(@Valid ListenActionAllowSaveReqVO createReqVO);

    /**
     * 更新事件与动作
     *
     * @param updateReqVO 更新信息
     */
    void updateListenActionAllow(@Valid ListenActionAllowSaveReqVO updateReqVO);

    /**
     * 删除事件与动作
     *
     * @param id 编号
     */
    void deleteListenActionAllow(Integer id);

    /**
     * 获得事件与动作
     *
     * @param id 编号
     * @return 事件与动作
     */
    ListenActionAllowDO getListenActionAllow(Integer id);

    /**
     * 获得事件与动作分页
     *
     * @param pageReqVO 分页查询
     * @return 事件与动作分页
     */
    PageResult<ListenActionAllowDO> getListenActionAllowPage(ListenActionAllowPageReqVO pageReqVO);

    List<ListenActionAllowDO> getActionListByListen(String listen);
}